【问题描述】
使用pandas的DataFrame对象的join方法一次连接多个DataFrame。
【示例4-7】
本例使用与示例4-4相同的数据。用DataFrame对象的join方法水平拼接3个工作表的数据并保存到Excel文件,
- 编写下面的代码:
code.python
import pandas as pd
# 读取3个工作表数据
sheet1 = pd.read_excel(r'D:/Samples/ch04/02 数据合并/连接数据/学生成绩.xlsx', sheet_name='Sheet1', index_col=0, engine="openpyxl")
sheet2 = pd.read_excel(r'D:/Samples/ch04/02 数据合并/连接数据/学生成绩.xlsx', sheet_name='Sheet2', index_col=0, engine="openpyxl")
sheet3 = pd.read_excel(r'D:/Samples/ch04/02 数据合并/连接数据/学生成绩.xlsx', sheet_name='Sheet3', index_col=0, engine="openpyxl")
# join水平拼接3个工作表数据
merged_data = sheet1.join([sheet2, sheet3])
#输出合并数据
print(merged_data)
# 保存到Excel文件
merged_data.to_excel(r'D:/Samples/ch04/02 数据合并/连接数据/学生成绩_连接.xlsx')
打开Python IDLE,新建一个脚本文件,将上面生成的代码复制进去,保存。运行脚本,实现数据的合并,在IDLE Shell窗口输出合并后的结果。
code.python
>>> == RESTART: D:/Samples/1.py =
语文 数学 英语
姓名
王东 16 27 34
徐慧 85 54 92
王慧琴 99 73 118
章思思 95 83 62
阮锦绣 92 91 92
周洪宇 93 92 113
谢思明 98 95 117
程成 98 95 114
王洁 102 102 136
张丽君 107 104 105
可在原始数据文件的相同路径下找到新建的Excel文件。
【知识点扩展】
用DataFrame对象的join方法实现两个或多个DataFrame数据的连接。该方法的语法格式为:
code.python
df.join(other, on=None, how=’left’, lsuffix=’’, rsuffix=’’, sort=False)
方法各参数的含义与merge方法的基本相同。其中df为DataFrame对象,other为另外一个或多个DataFrame对象。join方法可以看作是merge方法的简化版本。
连接两个DataFrame数据时,可以使用on参数指定连接键索引列;连接多个DataFrame数据时,只能将行索引作为连接键。